﻿// <copyright file="PlayerTests.cs" company="Mooville">
//   Copyright © 2010 Roger Deetz. All rights reserved.
// </copyright>

namespace Mooville.QUno.Model.Tests
{
    using Microsoft.VisualStudio.TestTools.UnitTesting;
    using Mooville.QUno.Model;

    [TestClass]
    public class PlayerTests
    {
        [TestMethod]
        public void Constructor_ShouldNotThrow()
        {
            Player target = new Player();
            Assert.IsNotNull(target);

            return;
        }

        [TestMethod]
        public void AfterConstructor_Hand_ShouldNotBeNull()
        {
            Player target = new Player();
            Assert.IsNotNull(target.Hand);

            return;
        }

        [TestMethod]
        public void AfterConstructor_Name_ShouldBeNull()
        {
            Player target = new Player();
            Assert.IsNull(target.Name);

            return;
        }

        [TestMethod]
        public void AfterConstructor_IsHuman_ShouldBeFalse()
        {
            Player target = new Player();
            Assert.IsFalse(target.IsHuman);

            return;
        }

        [TestMethod]
        public void Name_ShouldAcceptValue()
        {
            Player target = new Player();
            target.Name = "Player1";
            Assert.AreEqual("Player1", target.Name);

            return;
        }

        [TestMethod]
        public void IsHuman_ShouldAcceptValue()
        {
            Player target = new Player();
            target.IsHuman = true;
            Assert.IsTrue(target.IsHuman);

            return;
        }
    }
}
